#ifndef REPOANALYZERWORKER_H
#define REPOANALYZERWORKER_H

#include <QObject>

class RepoSolutionTask;
class QThreadPool;
class RepoAnalyzerManager;
class RepoAnalyzerWorker : public QObject
{
    Q_OBJECT
public:
    explicit RepoAnalyzerWorker(RepoAnalyzerManager *manager);

public slots:
    void solution(const QString &dir, const QString &name, const QString &path);
    void commit_fast_solution(const QString &dir, const QString &name, const QString &path);
    void start_fast_solution();

    void applySettings();

private:
    RepoAnalyzerManager *manager;

    QThreadPool *m_thread_pool;
    QList<RepoSolutionTask*> m_solution_tasks;
};

#endif // REPOANALYZERWORKER_H
